<?php

namespace App\Http\Controllers\Frontend;


use App\Logics\NewsLogic;
use App\Logics\SiteLogic;
use Illuminate\Support\Facades\Config;


class ArticleController extends BaseController
{
    // 文章 初始化
    public function initialize()
    {
        parent::initialize();
    }

    // 文章页面
    public function index()
    {
        $options = [
            'is_first'           => 1,  // 返回详情第一段
            'remove_content_pic' => 0,  // 删除 content 字段中的图片
        ];

        $logic = new NewsLogic();
        $info  = $logic->onShow($this->myUid, $options);
        if($info === false){
            return $this->error($logic->getError());
        }
        // 获取三个标签 直接添加在 文章标签后面
        if(substr($info['en_keywords'], -1) == ','){
            $info['en_keywords'] = substr($info['en_keywords'], 0, -1);
        }

        // 如果没有关键词
        //   则获取栏目标签
        $option = $this->optLogic();
        $_aid   = $option->getData('id', null, 'intval');
        $cateId = $info['cate_ids'][0] ?? 0;
        if($cateId){
            // 获取栏目标签，取三个
            $_cateInfo  = (new SiteLogic())->cateInfo($cateId);
            $_keywords  = explode(',', $_cateInfo['en_keyword']);
            $_cateCount = count($_keywords);
            $_mode      = $_aid % $_cateCount;
            $_start     = $_cateCount - 1 - $_mode > 3 ? $_mode : $_cateCount - 4;

            // 获取三个标签
            $n_keywords = array_slice($_keywords, $_start, 3);
            // 整理
            $info['en_keywords'] .= ','.implode(',', $n_keywords);
        }

        //   如果没有栏目标签，则获取首页标签
        /*if(empty($info['en_keywords'])){
            $info['en_keywords'] = Config::get('cate.0.keywords');
        }*/

        // 一篇文章可能有多个栏目：怎么高亮显示
        // 高亮显示栏目
        $option->assign('cateId', $cateId);
        $option->assign('info', $info);

        return $this->dispaly('frontend.article');
    }


}


